Grant Writing Assistant

RAG
LLM
Pinecone
VectorStore
Docker
CI/CD
LLMOps
Langsmith
Railway
FASTAPI
Streamlit
Author

Prasad Bhoite

Typing Animation

Tip

Grant Writing Assistant is an AI-powered RAG application designed to help users query and synthesize information from a custom knowledge base about the NeighborhoodHELP (NHELP) program.
It leverages Retrieval-Augmented Generation (RAG) to provide accurate, context-aware answers for grant writing and program documentation.


🚀 Features

  • 💬 Conversational AI: Remembers chat history to handle follow-up questions.
  • 📚 Dynamic Knowledge Base: Ingests information from PDFs and live websites.
  • 🔎 Source Transparency: Displays references for every answer.
  • Streaming Responses: Token-by-token output for responsiveness.
  • 🛠️ Developer Dashboard: Manage prompts and knowledge base via a Streamlit admin app.

🧱 MLOps & Professional Practices

  • 🔄 CI/CD: Automated linting with Ruff using GitHub Actions.
  • 📊 Evaluation: Built-in pipeline with Ragas to measure faithfulness, relevancy, and answer quality.
  • 👁️ Observability: End-to-end tracing with LangSmith.
  • 📦 Containerization: Fully reproducible deployments using Docker.
  • 📝 Prompt Management: Externalized into version-controlled prompts.yml.

🧬 Tech Stack


🏗️ System Architecture

This project uses a monolithic architecture where a single Streamlit application handles both the user interface and the RAG logic.
Data ingestion is managed by an offline script (ingest.py).

RAG Pipeline Diagram


⚡ Getting Started

▶️ Running the Application

  1. Access in Browser Open: https://grantwritingassistantnhelp-production-c6ef.up.railway.app/

🖼️ Screenshots